[blktap] Add dependencies to Makefiles and simplify to avoid needless rebuilds.
authorchris@kneesaa.uk.xensource.com <chris@kneesaa.uk.xensource.com>
Thu, 3 Aug 2006 18:45:14 +0000 (19:45 +0100)
committerchris@kneesaa.uk.xensource.com <chris@kneesaa.uk.xensource.com>
Thu, 3 Aug 2006 18:45:14 +0000 (19:45 +0100)
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
tools/blktap/drivers/Makefile
tools/blktap/lib/Makefile

index 6601a4d0051d14febe6da1a8a6fe3e29fad1db05..a2bdd02259e4b62b8f33fe6c5a0dd3b7937464d2 100644 (file)
@@ -49,21 +49,18 @@ all: $(IBIN) qcow-util
 LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
 
 
-blktapctrl: 
+blktapctrl: blktapctrl.c
        $(CC) $(CFLAGS) -o blktapctrl $(LIBS) blktapctrl.c
 
-tapdisk: $(BLK-OBJS)
+tapdisk: $(BLK-OBJS) tapdisk.c
        $(CC) $(CFLAGS) -o tapdisk $(BLK-OBJS) tapdisk.c \
                $(AIOLIBS) $(LIBS)
 
+.PHONY: qcow-util
+qcow-util: img2qcow qcow2raw qcow-create
 
-qcow-util: $(BLK-OBJS)
-       $(CC) $(CFLAGS) -o img2qcow $(BLK-OBJS) img2qcow.c \
-               $(AIOLIBS)  $(LIBS)
-       $(CC) $(CFLAGS) -o qcow2raw $(BLK-OBJS) qcow2raw.c  \
-               $(AIOLIBS)  $(LIBS)
-       $(CC) $(CFLAGS) -o qcow-create $(BLK-OBJS) qcow-create.c  \
-               $(AIOLIBS)  $(LIBS)
+img2qcow qcow2raw qcow-create: %: $(BLK-OBJS)
+       $(CC) $(CFLAGS) -o $* $(BLK-OBJS) $*.c $(AIOLIBS)  $(LIBS)
 
 install: all
        $(INSTALL_PROG) $(IBIN) $(QCOW_UTIL) $(DESTDIR)$(INSTALL_DIR)
index 2d5b98e41acd1ca1519bf671f80cc8a9f72febe9..9417b976acbf25e7fb2bc3e89c7e75d88183dc0d 100644 (file)
@@ -35,10 +35,14 @@ IBINS   :=
 
 LIB      = libblktap.a libblktap.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: build
 
-build:
-       $(MAKE) libblktap
+.PHONY: build
+build: libblktap.a
+
+.PHONY: libblktap
+libblktap: libblktap.a
 
 install: all
        $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
@@ -51,13 +55,13 @@ install: all
 clean:
        rm -rf *.a *.so* *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS
 
-libblktap: $(OBJS) 
+libblktap.a: $(OBJS) 
        $(CC) $(CFLAGS) -Wl,-soname -Wl,$(SONAME) -shared         \
              -L$(XEN_XENSTORE) -l xenstore                       \
              -o libblktap.so.$(MAJOR).$(MINOR) $^ $(LIBS)
        ln -sf libblktap.so.$(MAJOR).$(MINOR) libblktap.so.$(MAJOR)
-       ln -sf libblktap.so.$(MAJOR) $@.so
-       ar rc libblktap.a $@.so
+       ln -sf libblktap.so.$(MAJOR) libblktap.so
+       ar rc $@ libblktap.so
 
 .PHONY: TAGS all build clean install libblktap